////////////////////////////////////////////////////////////////////////////////

#ifndef _COMMONTYPES_H_
#define _COMMONTYPES_H_

////////////////////////////////////////////////////////////////////////////////

#include <utility>
#include <vector>

////////////////////////////////////////////////////////////////////////////////

namespace STM
{
    /** Utility type: position of object (x and y coordinates) */
    typedef std::pair<double, double> Position;


    /** Utility type: positions of objects (x and y coordinates) */
    typedef std::vector<Position> Positions;


    /** Utility type: position of object on screen (x and y coordinates) */
    typedef std::pair<short, short> ScrPosition;


    /** Utility type: positions of objects on screen (x and y coordinates) */
    typedef std::vector<ScrPosition> ScrPositions;


    /** Utility type: size of object (height and width) */
    typedef std::pair<double, double> Size;


    /** Utility type: velocity of object (vertical, horizontal)
    The value of velocity is [Pixels per frame]
    Velocity can be positive (down, right), negative (up, left), zero(stay)
    */
    typedef std::pair<double, double> Velocity;
}


////////////////////////////////////////////////////////////////////////////////

#endif

////////////////////////////////////////////////////////////////////////////////
